home *** CD-ROM | disk | FTP | other *** search
- #!/usr/local/bin/perl
-
- $gunzip="/usr/local/bin/gunzip";
-
- print "Content-type: text/html\n\n";
-
- undef $line;
- if ($ENV{'QUERY_STRING'} =~ /\d+/) {
- $line = $ENV{'QUERY_STRING'};
- }
- $check = $ARGV[0];
- $path = $ENV{'PATH_INFO'};
- if ($check) {
- if ($path =~ m#^$check/(.*)#) {
- # you may uncomment this if you want to increase security
- # at the expense of longer execution
- #if (system("egrep $1\$ $check/.glimpse_filenames >/dev/null".
- # " 2>/dev/null") != 0) {
- # &err_noaccess;
- #}
- # else - ok, you get to see us mangle the file then
- }
- else {
- &err_noaccess;
- }
- }
- $effname = $path;
- $name = $path;
- if ($path =~ /^(.*)\.Z$/) {
- $effname = "exec $gunzip < $path|";
- $name = $1;
- } elsif ($path =~ /^(.*)\.gz$/) {
- $effname = "exec $gunzip < $path|";
- $name = $1;
- } elsif ($path =~ /^(.*)\.zip$/) {
- $effname = "exec $gunzip < $path|";
- $name = $1;
- }
-
- if (!-f $path) {
- print "<TITLE>File \"$path\" does not exist</TITLE>\n";
- print "<H1>File \"$path\" does not exist</H1>\n";
- exit;
- }
- if (!open(INPUT,$effname)) {
- print "<TITLE>Cannot read file \"$path\"</TITLE>\n";
- print "<H1>Cannot read file \"$path\": $!</H1>\n";
- exit;
- }
-
- if ($name !~ /.html$/) {
- print "<PRE>\n";
- }
- LINE:
- while (<INPUT>) {
- if ($name =~ /\.html$/) {
- s|\<([\w\$][-\w.\$]*@\w[-\w.]+)>|\<a href="/cgi-bin/artbyid?$1"\>\<$1\>\</a\>|g;
- } else {
- s|\&|\&|g;
- s|\<|\<|g;
- s|\>|\>|g;
- s|\<([\w\$][-\w.\$]*@\w[-\w.]+)>|\<a href="/cgi-bin/artbyid?$1"\>\<$1\>\</a\>|g;
- # s|\bgopher://([^ ><'")(]*[\w\/])\b|\<a href="$&">$&\</a>|g;
- # s|\bhttp://[-.\w?/+&\%:]+[.\w/]\b|\<a href="$&">$&\</a>|g;
- # s|\bftp://[-.\w/+]+[.\w/]\b|\<a href="$&"\>$&\</a\>|g;
- s#\bgopher://[^\s><'")(]+[\w/]#\<a href="$&">$&\</a>#g;
- s#\bhttp://[^\s><'")(]+[\w/]#\<a href="$&">$&\</a>#g;
- s#\bftp://[^\s><'")(]+[\w/]#\<a href="$&">$&\</a>#g;
- }
- if ($line && $. == $line) {
- print "<A NAME=\"mfs\"><B>";
- }
- if ($line && $. == $line+1) {
- print " </B></A>";
- }
- print;
- }
- if ($name !~ /.html$/) {
- print "</PRE>\n";
- }
- close(INPUT);
-
- sub err_noaccess {
- print "<TITLE>Access denied</TITLE>\n";
- print "<H1>Access to \"$path\" denied</H1>\n";
- print "You don't have permission to get file \"$path\"\n";
- print "from this site.\n";
- exit;
- }
-